#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/stat.h>

#define FIFO_FILE "sampleFIFO"

int main(void)
{
    FILE *fp;
    char readbuf[80];

    umask(0); // 如果管道不存在，则创建一个
    mknod(FIFO_FILE, S_IFIFO | 0666, 0); // 有名管道

    while (1)
    {
        fp = fopen(FIFO_FILE, "r"); // 打开有名管道

        fgets(readbuf, 80, fp); // 从有名管道中读取数据
        printf("Received string: %s\n", readbuf);

        fclose(fp); // 关闭有名管道
    }
    return(0);
}